/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package p2p;

import java.io.Serializable;

/**
 * 
 * @author Gatech
 */
public class Paquete implements Serializable {
    private static final long serialVersionUID = 8799656478674716638L;
    public byte inst;
    //Instr: 0 : Hola mundo
    //Instr: 1 : Bienvenido (respuesta).
    //Instr: 2 : Paquete rotado
    //Instr: 3 : Pidiendo paquetes de archivo tal
    //Instr: 4 : Devolviendo paquetes pedidos a Ip que lo pidio
    //Instr: 5 : Borre paquetes de tal archivo
    //Instr: 6 : Estoy vivo!

    
    public byte[] data = new byte[512]; 
    public String ipDest;
    public String nombreAr;
    public int parte;
    public int partes;
    
    public Paquete(){}
    
    public Paquete(int in, String datos){
        inst = (byte)in;
        data = datos.getBytes();
    }
    public Paquete(String nombreAr, byte[] data,int parte){
        this.data=data;
        this.nombreAr=nombreAr;
        this.parte=parte;
    }
    
    @Override
    public boolean equals(Object o) {
        Paquete p = (Paquete) o;
        if(nombreAr.equals(p.nombreAr) && parte == p.parte) return true;
        return false;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 59 * hash + (this.nombreAr != null ? this.nombreAr.hashCode() : 0);
        hash = 59 * hash + this.parte;
        return hash;
    }
    
    
}
